Method for scheduling of plural packet data flows

ABSTRACT

The present invention relates to a method for scheduling of plural packet data flows transmitted via a single transmission resource, wherein each data flow adopts a retransmission scheme providing for retransmission of packet data of a respective flow for which packet data a positive acknowledgment of delivery to a destination was not obtained, the method comprising the steps of: allocating one of said plural data flows to said single transmission resource for transmission, said data flow comprising a number of packet data, first detecting that a certain number of packet data has been transmitted via said transmission resource, and in response thereto, generating an acknowledgment message including the acknowledgment status of each of said certain number of packet data and allocating another one of said plural data flows to said single transmission resource.

FIELD OF THE INVENTION

[0001] The present invention relates to a method for scheduling ofplural packet data flows.

BACKGROUND OF THE INVENTION

[0002] With the recent progress of communication technology,transmission techniques adopting a transmission of information in unitsof packets have become more and more popular. The packet data aretransmitted via a transmission resource, i.e. a physical channel, suchas a radio channel. Note that a radio channel may also be represented bya time slot of a radio channel in case of a TDMA transmission principle.

[0003] The more users access the common single transmission resource,the more important gets the question of controlling access of individualusers to the common resource, as each user generates a correspondingpacket data flow to be transmitted.

[0004] The present invention is concerned with an improved schedulingmethod and control device adopting the method. Generally, the presentinvention is applicable to any packet data flows to be scheduled fortransmission via a single transmission resource and it is not restrictedto a particular standard of packet data or communication network. Thesingle resource may for example be an air (radio) interface in a mobilecommunication system; however, scheduling of packet data flows fortransmission via other physical transmission resources such as wireboundresources is also enabled by means of the present invention to bedescribed hereinafter.

[0005] Thus, as mentioned before, the invention relates to thescheduling of data blocks of multiple data flows over a single resource,where each flow adopts a retransmission scheme providing forretransmission of packet data of a respective flow for which packet dataa positive acknowledgment of delivery to a destination was not obtained.Such a retransmission scheme is for example realized in the AutomaticRepeat reQuest (ARQ) protocol.

[0006] More specifically, the invention can be applied in GPRS (GeneralPacket Radio System) and EGPRS (Enhanced GPRS) radio interfaces of theGSM system. In those standards, there is a selective-reject ARQimplemented in the RLC/MAC (Radio Link Control/Media Access Control)protocol and a packet scheduler schedules RLC data blocks of differentTemporary Block flows (TBFs) over shared radio channels.

[0007]FIG. 3 outlines the hierarchical structure of the packet flowtransmission control with reference to the OSI (Open SystemsInterconnection) Layer Model. Plural packet data flows denoted as TBF1to TBF4 are to be scheduled for transmission from a transmitting sidevia a common resource such as e.g. a shared radio channel to a receivingside. Each TBF may corresponds to a different user accessing the commonresource. The common resource is a Layer 1 resource (Physical LayerPHY). The physical layer PHY and the packet data flows arecontrolled/scheduled by a packet scheduler in the Media Access ControlMAC layer. The MAC layer, in turn, is under control of the radio linkcontrol RLC layer in which an ARQ protocol instance is provided.

[0008] ARQ is considered to be part of the RLC protocol, which is in theprotocol stack above the MAC layer, which in turn is above the physicallayer. The MAC layer performs the signaling needed to instruct whichterminal MS is allowed to transmit in the uplink and to indicate whichMS each block is targeted to. The packet scheduler is a functioncontrolling this behavior of MAC. For downlink transmission, it can beconsidered that the packet scheduler also activates the selected RLCinstance to generate the block to be transmitted. In a practicalimplementation, these are typically implemented close to each other andall of them reside in the Packet Control Unit (PCU) logical element,i.e. either in the GPRS network or in the GPRS terminal.

[0009] Since the skilled reader is considered to be familiar with thegeneral topics of packet data flow scheduling, a further detaileddescription is omitted here. Nevertheless, further details may begathered from the publication “GPRS Radio Interface—Radio Link ControlDetails in GPRS” by Jarkko Puharinen, Tampere University of Technology,Advanced Topics in Telecommunications, Report, Apr. 7, 2000 (retrievedfrom the Internet on Apr. 29, 2002 underwww.cs.tut.fi/kurssit/8309700/reports/puharinen.pdf).

[0010] Note that the above description which will serve as an examplethroughout the subsequent description of the present invention refers tothe chosen example of a packet data flow scheduling via the airinterface (as an example of the physical layer) in e.g. GPRS/EGPRSsystems. However, in case of another common resource, the control layerarrangements may differ from the described example. It should also benoted that FIG. 3 is a simplified representation of a protocol stacksince normally a protocol stack shows the same protocols on both sidesof the interface, i.e. on transmitting and receiving side. Only one side(transmitting or receiving) side can be imparted with the controllingfunctionality (e.g. located in the packet scheduler). Such methodsrequire a single controlling element in charge of the shared resource,like for example an entity on the network side controlling how multipleentities such as mobile stations use the shared resource in acommunication network such as a cellular network.

[0011] The general problem to be solved in scheduling resides inchoosing for each available transmission (i.e. packet data flow of auser) a slot in which the packet data flow is allowed to transmit.

[0012] Earlier solutions include for example a round-robin schedulingprinciple, where each packet data flow is given the turn to transmit acertain number of blocks in a circular fashion. Basically, forround-robin scheduling, the delay from a first original transmission (0)to the last retransmission (R) is more than the entire cycle since anoriginal transmission is transmitted during the acknowledgment delay,after a polling for acknowledgment but before receiving theacknowledgment message and performing the retransmission.

[0013] The round-robin scheduling principle is explained in greaterdetail with reference to FIG. 4. FIG. 4 illustrates a flow of packetdata flows TBF1 to TBF3 as a function of time. The time axis is from thetop of the figure to the bottom thereof, as indicated by an arrow in theupper right portion of the figure. It is assumed that the round-robinscheduling according to FIG. 4 has a sequence of allocating TBF3, TBF2,TBF1, TBF3, TBF2, . . . to said single transmission resource fortransmission. Thus, there is allocated one of said plural data flows ata time. Original transmissions (packet data which are transmitted forthe first time) are denoted by “O”, whereas retransmissions are denotedby “R”. The packet data flows are multiplexed on a single timeslot, e.g.in downlink DL, from a network entity (e.g. base station BS) to aterminal (e.g. mobile station MS). In connection with a retransmissionscheme, transmitted data blocks and/or packets have to be acknowledged.Acknowledgments are transmitted in the opposite direction, i.e. forpacket transmission in DL, acknowledgments are transmitted in uplinkdirection UL from a terminal (e.g. mobile station MS) to a networkentity (e.g. base station BS). Acknowledgments are denoted by arrowslabeled “ACK”. The acknowledgment delay indicated by a “}” bracket iscaused by the transmission delay of the data block in the downlink, thetransmission delay of the acknowledgment message in the uplink and anyprocessing delay at either end.

[0014] For the subsequent explanations, it is assumed that as shown inFIG. 4

[0015] 1. after the first original packet data block transmitted forTBF3 an acknowledgment is polled,

[0016] 2. the polled ACK contains an indication that at least one packetof the original block is to be retransmitted since a positiveacknowledgment of delivery to its destination was not obtained, and

[0017] 3. due to transmission delays (polling for ACK in DL,transmitting ACK/NACK in uplink) and processing delays at the receivingside as well as at the transmitting side, the ACK is received andevaluated at the transmitter with a certain delay.

[0018] Note that in general, although acknowledgments have to betransmitted for every block, multiple acknowledgments are typicallycombined in one Ack/Nack message so that an acknowledgment message neednot be transmitted after every block. In the figure, it is assumed thatone block and/or data packet is transmitted in each cycle that is shown.

[0019] Thus, after polling for acknowledgment at TBF3, the transmissionturn is allocated to TBF2, TBF1 and TBF3 again. At the time TBF3 isallocated again to the resource, the polled ACK has not yet beenreceived due to the above mentioned delays. Consequently, TBF3 transmitsa further original packet data. During this transmission and/or at theend thereof, the polled ACK is received. However, the originaltransmission is ongoing and retransmission can not be performed. Also,if the ongoing original transmission is finished, the round-robinscheduling allocates TBF2, TBF1 for transmission to complete around-robin allocation sequence (one round-robin allocation sequenceconsisting of a sequence of TBF3, TBF2, TBF1). Thus, as shown in FIG. 4,the first retransmission of packet data originally sent in a firstround-robin sequence can occur but in the third round-robin sequence.

[0020] Considering the time difference between the original and thefirst retransmission, more than one entire round-robin sequence of delayis present. Considering the difference between receipt of the ACK(during the second round-robin sequence) and the first retransmission,about ⅔ of a round-robin sequence of retransmission delay(Retransm_Delay) is present. Still further, the retransmission delaywill further increase in such a situation the more TBFS are scheduled ina round-robin fashion. Namely, assuming a round-robin cycle for 6 TBF's,i.e. TBF1 through TBF6, in a sequence of TBF3, TBF2, TBF1, TBF4, TBF5,TBF6 (TBF4-TBF6 not shown in FIG. 4), then the retransmission delaywould amount to ⅚ of an entire cycle.

[0021] Also, considering a certain TBF alone such as TBF3, within arespective TBF there occurs a cycle of packet data transmission. Thiscycle can be explained such that on the bottom of FIG. 4, thetransmissions of blocks of a TBF loops back to the top, as illustratedwith the arrows. Considering the second packet data block (from the top)of TBF3, the ACK message received during the transmission of this blockdoes not contain acknowledgment information for that block. Thesubsequent retransmission R thus concerns packet data blocks precedingthe considered block (2^(nd) from the top). A retransmission R whichmight be caused for the considered block will however be transmittedonly in the subsequent cycle of TBF3 and will follow the consideredblock with a delay of 21 packet data blocks. Similar considerations forTBF1 will even lead to a delay of 24 block periods.

[0022] Such delays, however, have an adverse effect on the quality ofservice QoS of a transmission for a particular user if the user has adelay sensitive application such as real-time transmission activated.

SUMMARY OF THE INVENTION

[0023] Consequently, it is an object of the present invention to providean improved method for scheduling of plural packet data flowstransmitted via a single transmission resource, which is free from theabove mentioned drawbacks.

[0024] According to the present invention, the above object is forexample achieved by a method for scheduling of plural packet data flowstransmitted via a single transmission resource, wherein each data flowadopts a retransmission scheme providing for retransmission of packetdata of a respective flow for which packet data a positiveacknowledgment of delivery to a destination was not obtained, the methodcomprising the steps of: allocating one of said plural data flows tosaid single transmission resource for transmission, said data flowcomprising a number of packet data, first detecting that a certainnumber of packet data has been transmitted via said transmissionresource, and in response thereto, generating an acknowledgment messageincluding the acknowledgment status of each of said certain number ofpacket data and allocating another one of said plural data flows to saidsingle transmission resource.

[0025] According to favorable further developments of the presentinvention,

[0026] the method further comprises a step of second detecting apredetermined event concerning a packet data flow currently notallocated to said single transmission resource, and in response to saidsecond detecting, interrupting said data flow currently allocated;

[0027] said predetermined event is a negative acknowledgment concerningat least one packet of a packet data flow previously allocated to saidsingle transmission resource;

[0028] said predetermined event is the occurrence of an additionalpacket data flow to the plural packet data flows;

[0029] said predetermined event is the occurrence of at least one newpacket of a packet data flow previously allocated to said singletransmission resource for which all previous packets were transmitted;

[0030] the method further comprises the steps of deallocating saidinterrupted data flow currently allocated, allocating said data flow tosaid single transmission resource which data flow is concerned by saidpredetermined event, and transmitting at least one packet of the packetdata flow concerned by said predetermined event;

[0031] the method further comprises the steps of, upon completion ofsaid transmitting step, deallocating said data flow which is concernedby said predetermined event, allocating said interrupted data flow tosaid single transmission resource, and resuming transmission of theinterrupted packet data flow;

[0032] the method further comprises the step of allocating anotherpacket data flow upon completion of the resumed transmission of theinterrupted packet data flow;

[0033] said certain number of packets of a specific data flow isindependent from the certain number of packets of other data flows;

[0034] said certain number varies from time to time; and

[0035] said certain number is determined during the transmission.

[0036] By virtue of the present invention, basically the followingadvantages can be achieved

[0037] the retransmissions are closer in time to the originaltransmissions, which reduces the delay experienced by the user and thesystem (for instance, the time from the first original transmission tothe last retransmission (i.e. the successful retransmission, e.g. thefirst retransmission can be the last retransmission if it is successful)is about halved in some cases);

[0038] if incremental redundancy is applied, its memory consumption isreduced due to the shorter delay;

[0039] the probability of stalling the ARQ protocol and/or protocolinstance is reduced;

[0040] the number of unnecessary retransmissions is reduced, and

[0041] user throughput and spectral efficiency is increased.

[0042] Just to give an example, studies of the inventor yielded thatgains up to 20% in user data throughput, delay and spectral efficiencycan be achieved.

[0043] These advantages can be achieved while only slightly changing thebehavior of the RLC/MAC implementation when e.g. multiple users ofGPRS/EGPRS share a timeslot.

BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In the following, the present invention will be described ingreater detail with reference to the accompanying drawings, in which

[0045]FIG. 1 shows, on a level of individual blocks forming a packetdata flow, the behavior of the invention in downlink (FIG. 1a) anduplink (FIG. 1b), respectively;

[0046]FIG. 2 shows an example of three packet data flows beingmultiplexed on a single timeslot of the single resource available, withthe packet data flow being scheduled according to the present invention(first embodiment),

[0047]FIG. 3 outlines the hierarchical structure of the packet flowtransmission control with reference to the OSI (Open SystemsInterconnection) Layer Model; and

[0048]FIG. 4 illustrates a round-robin scheduling principle according toprior art.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0049] Basically, as mentioned before, the present invention relates toa method for scheduling of plural packet data flows transmitted via asingle transmission resource, wherein each data flow adopts aretransmission scheme providing for retransmission of packet data of arespective flow for which packet data a positive acknowledgment ofdelivery to a destination was not obtained, the method comprising thesteps of: allocating one of said plural data flows to said singletransmission resource for transmission, said data flow comprising anumber of packet data, first detecting that a certain number of packetdata has been transmitted via said transmission resource, and inresponse thereto, generating an acknowledgment message including theacknowledgment status of each of said certain number of packet data andallocating another one of said plural data flows to said singletransmission resource.

[0050] This will be explained in greater detail with reference to FIG.2, more precisely TBF2 in FIG. 2. It is assumed that the cycle of TBF2comprises a certain number of six packet data blocks transmitted onTBF2. The cycle does not just include the blocks before theretransmissions but it includes the retransmissions as well. Dependenton on the success of transmissions/retransmissions the number ofretransmisisons will vary in subsequent cycles. Nevertheless, thecertain number of blocks (six in the considered example) will remainconstant in each cycle, irrespective of the partitioning betweenoriginal (O) and retransmission (R) blocks. Also the acknowledgmentstatus of R blocks will be included in a subsequent acknowledgmentmessage ACK.

[0051] Now, referring to the example of TBF2 in FIG. 2 it will be seenthat a cycle comprises OOO-O - - - RR - - - (with O being an originaltransmission, R being a retransmission and - being another TBF than theconsidered one being assigned).

[0052] Further, assume a situation of two consecutive of such cycles inwhich in the fourth block in the above (first) cycle an ACK istransmitted. It is to be noted that this fourth illustrated blockthen—in the given example—corresponds to a sixth block dependent ontransmission history for TBF2. A first original block which in terms ofits acknowledgment status—was not included in the ACK message is thenthe first block following the two R blocks. The ACK status of this blockis then contained in the subsequent ACK of the next cycle. The lastretransmission corresponding to the above mentioned first original blockthe Ack status of which was not included in the previous ACK messagewill then occur only 9 block periods later. This represents asignificantly shorter delay than what was achieved by the round-robinscheme discussed previously.

[0053] The method further comprises a step of second detecting apredetermined event concerning a packet data flow currently notallocated to said single transmission resource, and in response to saidsecond detecting, interrupting said data flow currently allocated. Thisis also illustrated in FIG. 2. The present invention can be applied tovarious scenarios, dependent on what kind of a predetermined eventconcerning a packet data flow currently not allocated to said singletransmission resource is being detected. Dependent on such apredetermined event, embodiments of the present invention can bedistinguished.

[0054] First Embodiment:

[0055] Said predetermined event is a negative acknowledgment concerningat least one packet of a packet data flow previously allocated to saidsingle transmission resource.

[0056] The scheduler gives a single (currently allocated) data flow a“continuous”, i.e. cyclic/repeated transmission turn, which is possiblyinterrupted by retransmissions of another packet data flow, after whichtransmission turn the turn is given to another flow (i.e. another packetdata flow is then allocated). The ARQ protocol instance provides forsending an acknowledgment message which includes the receive status ofblocks until a certain last block. The scheduler and the ARQ protocolinstance co-operate so that the last block whose receive status isincluded in the acknowledgment message is the same block as the lastblock of the transmission turn and the acknowledgment message is sent“as soon as possible” after the said block is received. “As soon aspossible” or “immediate” retransmission means that retransmissions (of adata flow currently not allocated to the resource) are prioritized overoriginal transmissions (of a data flow currently allocated to theresource), so that a retransmission of one TBF has priority overoriginal transmissions of other TBFs. This means that the normalscheduling algorithm is by passed when a retransmission is performed.

[0057] The expression “certain last block” means that a certain(sometimes predetermined) number of data packets are transmitted percontinuous packet data flow before an acknowledgment procedure iscarried out for this number of packets. The certain number of packets ofa specific data flow is independent from the certain number of packetsof other data flows, while said predetermined number may also vary fromtime to time. Also, the certain number may be determined duringtransmission. An acknowledgment procedure comprises the signalinginvolved in informing the transmitting side of the successful ornon-successful delivery of the packet data to the destination.Acknowledgment procedures differ for uplink and downlink transmission,as will be explained hereinafter in more detail.

[0058] In the GPRS system, which has been chosen as an example only forexplanation purposes, the decision when an acknowledgment message shouldbe sent is always made by the network. In downlink data transfer, thisis accomplished by polling (requesting) the MS to transmit the Ack/Nack,but in the uplink data transfer, the network simply transmits theAck/Nack message when it so decides”, based on its knowledge of thenumber of packets to be transmitted. Therefore no polling is needed inuplink data transfer.

[0059] Two methods are possible, depending on how the co-operationbetween the scheduler and the ARQ protocol instance is arranged. Thefirst method is especially suitable for the uplink and the second forthe downlink, although both methods are of course possible in each link.

[0060] 1. The scheduler schedules the flows so that each flow transmitsa number of consecutive blocks. When detecting that a different flow isto be scheduled, the ARQ protocol will transmit an acknowledgmentmessage.

[0061] 2. The ARQ decides to transmit an acknowledgment message after acertain number of blocks have been received. When the scheduler detectsthat an acknowledgment message is sent or will be sent, and that thestatus of another block from the current flow would no longer beincluded in the message, it starts scheduling blocks for another flow.

[0062] The difference between the methods is which algorithm is computedfirst, polling or scheduling. The second algorithm then depends on thedecisions of the first one. In method 1, the scheduler decides how manyblocks/packets to transmit, and the polling is generated by the ARQ whennoticing that the scheduler is about to change the TBF. In method 2, theARQ makes the decision on when to poll or to send an acknowledgment, andwhen the scheduler notices that this has been done, it can change to adifferent TBF. Method 2 is especially suitable for the downlink, as inthe downlink, the last block whose Ack/Nack status will be indicated inthe Ack/Nack message is the block with the poll. Thus the schedulerwould simply change the TBF in the block following the poll. If the samemethod is applied in the uplink, the network needs first to make adecision on when to send Ack/Nack and stop the scheduling before theAck/Nack so that the last block from the terminal, e.g. MS, is receivedjust before transmitting the Ack/Nack. The network must take thedecision to transmit Ack/Nack quite early and also it must know theround-trip delay RTT between the MS and the network. Thepredetermination of the “certain number”, in either method, the numbercould be a parameter or it could vary from TBF to TBF and/or from timeto time based on some algorithm and/or dependent on the applicationand/or determined during the application is running.

[0063] The above explanations describing the method according to thepresent invention as implemented in the ARQ protocol instance and thepacket scheduler (cf. FIG. 3) will be set out in more detail withreference to FIGS. 1 and 2, respectively.

[0064]FIG. 1 comprises FIGS. 1a and 1 b. Each of these FIGS. 1a and 1 billustrates a packet data flow on a block level for an individual packetdata flow (TBF) allocated to the shared resource. It is assumed that thepredetermined number of blocks constituting a continuously scheduledpacket data flow comprises 4 blocks blk0 to blk3 which are consecutivelytransmitted in time.

[0065]FIG. 1a concerns the downlink transmission from a network entityrepresented as NW to a terminal represented as MS. The network entitytransmits blocks blk0 to blk3 to the terminal MS. As the network entity“knows” that only four blocks in this example are to be transmitted, thefourth block blk3 includes a polling, i.e. a request for anacknowledgment that the blocks were correctly received (Ack) or not(Nack). Upon receipt of the polling, the terminal MS returns theacknowledgment message (in uplink) direction to the network entity NW.Also, upon completion of the transmission of blk3, another packet dataflow (TBF) (not shown in FIG. 1a) is allocated to the shared resource.Upon receipt of the polling, the terminal MS returns the acknowledgmentmessage (in uplink) direction to the network entity NW. (Note that thetransmission of the Ack/Nack in uplink occurs somewhat simultaneously or“overlapping” to the downlink transmission of the blocks of the otherallocated packet data flow (not shown).) In the present example, it isassumed that the Ack/Nack message indicates that blocks blk0, blk1, blk3were received correctly, while block blk2 was not received at all or notreceived correctly. Stated in other words, a positive acknowledgment ofdelivery to a destination was not obtained for block blk2. As a result,due to the implemented retransmission scheme providing forretransmission of packet data of a respective flow for which packet dataa positive acknowledgment of delivery to a destination was not obtained,retransmission of block blk2 is arranged for by the network entity uponreceipt of the Ack/Nack message.

[0066] This retransmission of block blk2 will interrupt the allocatedpacket data flow (not shown in FIG. 1a), which was allocated after thetransmission of blocks blk0 to blk3 of the illustrated flow wascompleted. Thus, upon detecting a predetermined event (i.e. necessityfor retransmission) concerning a packet data flow currently notallocated to said single transmission resource (the flow shown in FIG.1a was deallocated after transmission of the predetermined number (here:4) of packets), the data flow currently allocated is interrupted.

[0067] During the interrupt of the currently allocated packet data flow,the retransmission of blk2 is performed, and subsequently, thetransmission of the interrupted packet data flow is resumed. This isexplained also with reference to FIG. 2 to be described later on.

[0068]FIG. 1b illustrates a similar scenario in uplink transmissionwhere a terminal MS sends data blocks forming a packet data flow to thenetwork, i.e. a network entity NW. Prior to the transmission of a blockblk, the network entity informs the terminal by means of so-calleduplink state flags USF of the availability of uplink resources fortransmission of the terminal. Thus, in response to an USF, a respectiveblock blk0 to blk3 is transmitted from the MS to the NW. The networkentity knows in this chosen example that a continuous transmission turncomprises four packets and may detect/count the number of receivedpackets, or the packets themselves indicate their packet number therebyinforming the network entity about the end of the continuoustransmission turn of the temporary block flow TBF illustrated in FIG.1b. In any case, the network entity returns an Ack/Nack message togetherwith an USF to the terminal MS upon receipt of the fourth block. Inresponse thereto, the terminal MS arranges for retransmission of theblock, blk2 for example, for which a positive acknowledgment of deliveryto its destination was not obtained.

[0069] Similarly as described in connection with FIG. 1a, although notshown in FIG. 1b, another TBF is allocated to the shared resource upontransmission of the predetermined number of blocks, and theretransmission of block blk2 interrupts the another TBF allocated to theshared resource.

[0070]FIG. 2 shows an example of three packet data flows beingmultiplexed on a single timeslot of the single resource available, withthe packet data flow being scheduled according to the first embodimentof the present invention. The notation and symbols used in FIG. 2corresponds to the one adopted and explained in connection with FIG. 4.

[0071] As shown in FIG. 2, a packet data flow TBF1 is initiallyallocated to the resource (transmission channel). The original (initial)packets and/or blocks transmitted are denoted with “O”. Within therectangle denoted with “O”, a blockwise transmission as shown in andexplained in connection with FIG. 1a takes place.

[0072] After all blocks up to the e.g. predetermined certain number ofblocks has been transmitted for TBF1, another packet data flow, i.e.TBF2 is allocated to the resource. While blocks of TBF2 are transmitted,the acknowledgment message ACK concerning the previously allocated TBF1is transmitted and received/processed at the ARQ protocol instance.Stated in other words, upon the polling for an ACK in a TBF, the TBF ischanged to another TBF.

[0073] Upon detecting the necessity for retransmission of at least oneblock/packet of those blocks and/or packets of TBF1 previously sent,i.e. upon detection of a predetermined event concerning a packet dataflow (TBF1) currently not allocated to said single transmissionresource, said data flow currently allocated (TBF2) is interrupted.

[0074] Then, said interrupted data flow currently allocated (TBF2) isdeallocated, and said data flow is allocated to said single transmissionresource, which data flow is concerned by said predetermined event(TBF1), and there is transmitted at least one packet of the packet dataflow concerned by said predetermined event, i.e. the block or blocks tobe retransmitted is/are transmitted (denoted by “R”). Upon completion ofsaid transmitting step, there is performed a deallocation of said dataflow which is concerned by said predetermined event (TBF1), and saidinterrupted data flow (TBF2) is allocated to said single transmissionresource again, and transmission of the interrupted packet data flowTBF2 is resumed.

[0075] As shown in FIG. 2, another packet data flow TBF3 is allocatedupon completion of the resumed transmission of the interrupted packetdata flow TBF2 (upon polling for ACK of TBF2)

[0076] Thereafter, the same scheme as described in relation to TBF2being interrupted by TBF1 occurs in the illustrated example in relationto TBF3 being interrupted by TBF2.

[0077] Thus, retransmission can be performed immediately, i.e. with anundue delay, upon receipt of the Ack/Nack message indicating that atleast one block/packet is to be retransmitted because retransmission isprioritized over an ongoing allocated packet data flow, which isinterrupted for retransmission of packets belonging to a previouslyallocated packet data flow.

[0078] Second Embodiment:

[0079] According to a second embodiment of the present invention (notillustrated in the drawings) said predetermined event resides in theoccurrence of an additional packet data flow to the plural packet dataflows. Stated in other words, assume that TBF1 to TBF3 are scheduled andprocessed according to the present invention, and assume further that anadditional flow TBF4 enters the system. Upon detection that such anadditional flow occurs, an ongoing transmission of e.g. TBF1 whenallocated to the resource is interrupted in order that blocks of the newflow TBF4 are transmitted. The remaining procedure is quite the same aswith the first embodiment, apart from the different event that isdetected.

[0080] Third Embodiment:

[0081] According to a third embodiment of the present invention (notillustrated in the drawings) said predetermined event resides in theoccurrence of at least one new packet of a packet data flow previouslyallocated to said single transmission resource for which all previouspackets were transmitted. Stated in other words, assume that TBF1 toTBF3 are scheduled according to the present invention, but that noblocks are to be transmitted any longer for TBF1, for example, whichflow is “exhausted”. Upon occurrence of at least one further block forTBF1, then e.g. TBF2 or TBF3 would be interrupted for and/or by thetransmission of such further blocks. Such interruption could be providedsuch that it occurs already for an single block, or such that it occursonly if a certain minimum number of blocks (greater than one) are to betransmitted. The remaining procedure is quite the same as with the firstand/or second embodiment, apart from the different event that isdetected.

[0082] Other Embodiments:

[0083] Furthermore, it will be understood that the present invention mayalso work properly if these events occur in a combined manner. That is,during an allocated packet data flow, one or more of these events mayoccur either consecutively (case 1), or “simultaneously” in time (case2). Note that an event could be judged as occurring simultaneous toanother event if these events are occurring within a predetermined timewindow. Then, all events occurring within the time window can be sortedaccording to their priority and/or the priority of the packet data flowthey concern. The predetermined time window is triggered by the eventoccurring first. Events occurring not within the same time window willthen be judged as “consecutive” events.

[0084] Then, for case 1, an allocated packet data flow may beinterrupted plural times, each interrupt being caused by one of theconsecutive events (provided that transmissions related to the data flowconcerned by the event occurring first in time has been finished and theallocated packet data flow has been resumed at the time of occurrence ofthe further event).

[0085] Also, for case 2, an allocated packet data flow may beinterrupted by the event which occurred first in time (within the timewindow), and transmissions related to the data flow concerned by theevent occurring first in time may in turn be interrupted by a furtherevent occurring later in time (provided that transmissions related tothe data flow concerned by the event occurring first in time has notbeen finished at the time of occurrence of the further event); that is,a hierarchical interrupting scheme of data flows could be implemented.Alternatively, the data flows concerned by the respective events couldconsecutively be processed, that is, the allocated data flow isinterrupted only once, with the duration of the interrupt beingdetermined by the consecutive packet data transmissions of those dataflows concerned by the respective events.

[0086] In case of plural “simultaneous” events, events can beprioritized based on an event priority, or a packet data flow can beprioritized over another packet data flow irrespective of the occurringevent concerning a respective data flow.

[0087] Alternatively, it may be provisioned that an allocated data flowis interrupted only once and that further events after a first event areprocessed after the allocated data flow has been resumed and completed.

[0088] Accordingly, as has been described herein above, the presentinvention relates to a method for scheduling of plural packet data flowstransmitted via a single transmission resource, wherein each data flowadopts a retransmission scheme providing for retransmission of packetdata of a respective flow for which packet data a positiveacknowledgment of delivery to a destination was not obtained, the methodcomprising the steps of: allocating one of said plural data flows tosaid single transmission resource for transmission, said data flowcomprising a number of packet data, first detecting that a certainnumber of packet data has been transmitted via said transmissionresource, and in response thereto, generating an acknowledgment messageincluding the acknowledgment status of each of said certain number ofpacket data and allocating another one of said plural data flows to saidsingle transmission resource.

[0089] While the invention has been described with reference to apreferred embodiment, the description is illustrative of the inventionand is not to be construed as limiting the invention. Variousmodifications and applications may occur to those skilled in the artwithout departing from the true spirit and scope of the invention asdefined by the appended claims.

1. A method for scheduling of plural packet data flows transmitted via asingle transmission resource, wherein each data flow adopts aretransmission scheme providing for retransmission of packet data of arespective flow for which packet data a positive acknowledgment ofdelivery to a destination was not obtained, the method comprising thesteps of: allocating one of said plural data flows to said singletransmission resource for transmission, said data flow comprising anumber of packet data, first detecting that a certain number of packetdata has been transmitted via said transmission resource, and inresponse thereto, generating an acknowledgment message including theacknowledgment status of each of said certain number of packet data andallocating another one of said plural data flows to said singletransmission resource.
 2. A method according to claim 1, furthercomprising a step of second detecting a predetermined event concerning apacket data flow currently not allocated to said single transmissionresource, and in response to said second detecting, interrupting saiddata flow currently allocated.
 3. A method according to claim 2, whereinsaid predetermined event is a negative acknowledgment concerning atleast one packet of a packet data flow previously allocated to saidsingle transmission resource.
 4. A method according to claim 2, whereinsaid predetermined event is the occurrence of an additional packet dataflow to the plural packet data flows.
 5. A method according to claim 2,wherein said predetermined event is the occurrence of at least one newpacket of a packet data flow previously allocated to said singletransmission resource for which all previous packets were transmitted.6. A method according to claim 2, further comprising the steps ofdeallocating said interrupted data flow currently allocated, allocatingsaid data flow to said single transmission resource which data flow isconcerned by said predetermined event, and transmitting at least onepacket of the packet data flow concerned by said predetermined event. 7.A method according to claim 6, further comprising the steps of uponcompletion of said transmitting step, deallocating said data flow whichis concerned by said predetermined event, allocating said interrupteddata flow to said single transmission resource, and resumingtransmission of the interrupted packet data flow.
 8. A method accordingto claim 7, further comprising the step of allocating another packetdata flow upon completion of the resumed transmission of the interruptedpacket data flow.
 9. A method according to claim 1, wherein said certainnumber of packets of a specific data flow is independent from thecertain number of packets of other data flows.
 10. A method according toclaim 1 or 9, wherein said certain number varies from time to time. 11.A method according to claim 1 or 9, wherein said certain number isdetermined during the transmission.